﻿//#define _CRT_SECURE_NO_WARNINGS 1
//#include<iostream>
//using namespace std;
//
//class Base1
//{
//public:
//	int _b1;
//};
//class Base2
//{
//public:
//	int _b2;
//};
//
//class Derive : virtual public Base1, public Base2
//
//{
//	public: int _d;
//};
//
//
//
//int main() {
//
//
//
//	Derive d;
//
//	Base1* p1 = &d;
//
//	Base2* p2 = &d;
//	Derive* p3 = &d;
//	return 0;
//
//}

//
//class Person
//{
//public:
//	void func()
//	{
//		cout << "Person" << endl;
//	}
//};
//
//class Student : public Person
//{
//public:
//	void func()
//	{
//		Person::func();
//		cout << "Student" << endl;
//	}
//	
//};
///*
//class A
//{
//public:
//	void f()
//	{
//		cout << "A::f()" << endl;
//	}
//};
//
//
//class B : public A
//
//{
//
//public:
//
//	void f(int a) { cout << "B::f()" << endl; }
//
//	int a;
//
//};*/
//
//class A
//{
//public:
//	A() { cout << "A::A()" << endl; }
//
//	~A() { cout << "A::~A()" << endl; }
//	int a;
//};
//
//
//
//class B : public A
//
//{
//
//public:
//
//	B() { cout << "B::B()" << endl; }
//
//	~B() { cout << "B::~B()" << endl; }
//
//	int b;
//
//};
//
//
//
//void f()
//
//{
//
//	B b;
//
//}
//
//
//
//
//int main()
//{
//	//Student s;
//	//s.Person::func();
//	f();
//}